package com.maochd.cloud.excel.deserializer;

import com.alibaba.fastjson.parser.DefaultJSONParser;
import com.alibaba.fastjson.parser.JSONToken;
import com.alibaba.fastjson.parser.deserializer.ObjectDeserializer;
import com.maochd.cloud.excel.enums.ExportEnum;

import java.lang.reflect.Type;

/**
 * 导出枚举反序列化
 */
public class ExportEnumDeserializer implements ObjectDeserializer {

    @Override
    @SuppressWarnings("unchecked")
    public <T> T deserialze(DefaultJSONParser parser, Type type, Object field) {
        return (T) ExportEnum.convert(parser.lexer.intValue());
    }

    @Override
    public int getFastMatchToken() {
        return JSONToken.LITERAL_INT;
    }
}
